package sy.service;

import java.io.Serializable;
import java.util.List;

import sy.model.SysUser;
import sy.model.SysVisitor;
import sy.util.ResultJson;

public interface SysUserServiceI {

	/**
	 * 
	 * @Title      : save 
	 * @Description: TODO
	 * @param sysUser
	 * @return     : Serializable
	 * @author     :xieyuanqiu
	 * Create Date : 2017年7月24日 上午11:30:03
	 * @throws
	 */
	Serializable save(SysUser sysUser);
	/**
	 * 
	 * @Title      : remove 
	 * @Description: TODO
	 * @param id
	 * @return     : void
	 * @author     :xieyuanqiu
	 * Create Date : 2017年7月24日 上午11:31:21
	 * @throws
	 */
	void remove(String[] ids);
	/**
	 * 
	 * @Title		:update
	 * @Description	:TODO
	 * @param		:@param sysUser
	 * @param		:@param unitIds
	 * @return		:void
	 * @author		:wujiayi
	 * @time		:2017年9月2日 下午3:14:32
	 * @throws
	 */
	void update(SysUser sysUser,String[] unitIds);
	/**
	 * 
	 * @Title      : list 
	 * @Description: TODO
	 * @return     : List<SysUser>
	 * @author     :xieyuanqiu
	 * Create Date : 2017年7月24日 下午2:39:25
	 * @throws
	 */
	List<SysUser> list();
	/**
	 * 
	 * @Title      : getSysUserById 
	 * @Description: TODO
	 * @param id
	 * @return     : SysUser
	 * @author     :xieyuanqiu
	 * Create Date : 2017年7月25日 上午10:52:16
	 * @throws
	 */
	SysUser getSysUserById(String id);
	/**
	 * 
	 * @Title      : listSysUserByKey 
	 * @Description: TODO
	 * @param key
	 * @return     : List<SysUser>
	 * @author     :xieyuanqiu
	 * Create Date : 2017年7月25日 上午10:52:20
	 * @throws
	 */
	List<SysUser> listSysUserByKey(String key);
	/**
	 * 根据业主id获取同住人/访客
	 * @Title: listSysUerByOwnerId
	 * @Description: TODO
	 * @param: @param ownerId
	 * @param: @return     
	 * @return: List<SysUser>     
	 * @author:  xieyuanqiu
	 * @date: 2017年8月16日 上午11:15:02
	 * @throws
	 */
	List<SysUser> listSysUserByOwnerId(String ownerId);
	/**
	 * 
	 * @Title		:getSysUserByAccount
	 * @Description	:TODO
	 * @param		:@param accountId
	 * @param		:@return
	 * @return		:SysUser
	 * @author		:Administrator
	 * @time		:2017年9月2日 下午3:15:09
	 * @throws
	 */
	SysUser getSysUserByAccount(String accountId);
	/**
	 * 根据业主名称精确查找
	 * @Title: getSysUserByName
	 * @Description: TODO
	 * @param: @param name
	 * @param: @return     
	 * @return: SysUser     
	 * @author:  xieyuanqiu
	 * @date: 2017年9月21日 下午4:44:39
	 * @throws
	 */
	SysUser getSysUserByName(String name);
	/**
	 * 
	 * @Title: listSysUserByAccount
	 * @Description: TODO
	 * @param: @param accountIds
	 * @param: @return     
	 * @return: List<SysUser>     
	 * @author:  xieyuanqiu
	 * @date: 2017年9月22日 下午2:38:57
	 * @throws
	 */
	List<SysUser> listSysUserByAccountIds(List<String> accountIds);

}
